package partone1;

/**
 * @author shkstart
 * @date 2022/4/29 - 23:31
 */

/* * 总结：属性赋值的先后顺序
 *
 *
 * ① 默认初始化
 * ② 显式初始化
 * ③ 构造器中初始化  // ①  ②  ③ 只有一次赋值
 *
 * ④ 通过"对象.方法" 或 "对象.属性"的方式，赋值 //④ 可以很多次
 *
 * 以上操作的先后顺序：① - ② - ③ - ④  */
public class UserTest {
    public static void main(String[] args) {
        User u1 = new User();//构造器中初始化 3
        System.out.println(u1.age);//默认初始化 0 显式初始化后为 1
        User u2 = new User(2);
        System.out.println(u2.age);//构造器中初始化 2

        u2.setAge(5);
        u2.setAge(7);//④ 可以很多次
        System.out.println(u2.age);//通过"对象.方法" 或 "对象.属性"的方式，赋值 5




    }
}
class User{
    int age = 1;
    String name;

    public User(){
        age = 3;
    }

    public User(int a){
        age = a;

    }

    public void setAge(int a){
        age = a;
    }

}
